无法在Venv中使用点子

问题描述

我知道有很多类似的问题,但是我都通过了这些问题都没有结果。

在Ubuntu 18.04上,我有Python 2和Python 3.6。我使用以下命令创建venv,并尝试使用pip安装软件包。但是,它将尝试安装在全局系统上,而不是在venv中安装。

python3 -m venv v1

当我运行“哪个python”时,它正确地选择了venv中的python。我检查了他的v1 / bin文件夹并安装了pip。 pip脚本中的路径已正确指向venv中的python。

我尝试重新安装python3和venv,销毁并重新创建虚拟环境和许多其他东西。想知道有没有一种合理的方式来理解和解决这个问题。

解决方法

在我的情况下,问题是我正在处理的已安装驱动器未作为可执行文件安装。因此无法从挂载的venv内部执行pip。

这被确认是因为我能够使用'python -m pip install numpy'进行pip安装,但是在导入库时,例如然后,“ import numpy”面临进一步的错误:

multiarray_umath.cpython-36m-x86_64-linux-gnu.so:无法从共享对象映射段

导致了以下github问题中的权限问题。 dvdabelle在评论中对此进行了修复,然后修复了相关问题和原始问题。

https://github.com/numpy/numpy/issues/15102

在他的情况下,他可以只切换驱动器。我必须使用这个驱动器。因此,解决方法是卸载我正在使用的/ data磁盘,然后使用exec选项将其重新安装!

sudo umount / data

sudo安装-o exec / dev / sda4 / data

“哪个点”现在正确指向venv中的点

注意:要使其永久生效,请按照https://download.tuxfamily.org/linuxvillage/Informatique/Fstab/fstab.html将exec开关添加到fstab中驱动器的行(将exec作为选项中的最后一个参数,否则用户将覆盖它)。

UUID = 1332d6c6-da31-4b0a-ac48-a87a39af7fec / data auto rw,user,auto,exec 0 0

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...