Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不能';t为Python 3.4创建工作虚拟环境_Python_Linux_Pip_Virtualenv_Python 3.4 - Fatal编程技术网

不能';t为Python 3.4创建工作虚拟环境

不能';t为Python 3.4创建工作虚拟环境,python,linux,pip,virtualenv,python-3.4,Python,Linux,Pip,Virtualenv,Python 3.4,在我的LinuxMint17.1中,我安装了Linux和Virtualenv12.0.5 然后我试着创造: $virtualenv-venv 并使用--clear和/或-p/usr/bin/python3.4,始终获得以下消息: 使用基本前缀'/usr' venv/bin/python3中的新python可执行文件 还可以在venv/bin/python中创建可执行文件 错误:无法运行可执行文件venv/bin/python3:[Errno 13]权限被拒绝 另一种尝试是: $pyvenv-3.

在我的LinuxMint17.1中,我安装了Linux和Virtualenv12.0.5

然后我试着创造:
$virtualenv-venv

并使用--clear和/或-p/usr/bin/python3.4,始终获得以下消息:

使用基本前缀'/usr'
venv/bin/python3中的新python可执行文件
还可以在venv/bin/python中创建可执行文件
错误:无法运行可执行文件venv/bin/python3:[Errno 13]权限被拒绝

另一种尝试是:
$pyvenv-3.4 venv

它在创建时没有给出错误,但是在venv/bin文件中,python3.4是指向/usr/local/bin/python3.4的符号链接。然后,当我使用pip或pip3激活并安装任何库,然后尝试导入它时,我会得到错误:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
导入错误:没有名为“anymoduledownload”的模块。

我总是在Python2.X中使用virtualenv,从未遇到过这种错误。有没有想过我做错了什么

谢谢

=======已编辑=======

这是我的分区(fdisk-l)的输出:

还有我的fstab:

<file system> <mount point>   <type>  <options>       <dump>  <pass>
-> was on /dev/sda1 during installation
UUID=a38f9c6d-3cd9-4486-b896-acbc6182ec61 /               ext4    errors=remount-ro 0       1
-> swap was on /dev/sda4 during installation
UUID=efad7b53-79a8-4230-8226-9ca90c68ea9d none            swap    sw              0       0`

->安装期间在/dev/sda1上
UUID=a38f9c6d-3cd9-4486-b896-acbc6182ec61/ext4错误=重新安装ro 0 1
->在安装过程中,交换在/dev/sda4上
UUID=efad7b53-79a8-4230-8226-9ca90c68ea9d无交换开关0`

我也在努力解决这个问题,所以我写了一篇文章来帮助我解决这个问题。你所做的与我所做的唯一显著区别在于第133行:

/path/to/python/bin/python3.4 /path/to/python/bin/pyvenv /path/to/venv
也就是说,显式命名python实例和venv工具。然后

/path/to/venv/bin/pip install django # or whatever

编辑 我在虚拟机中安装了LinuxMint,试图构建一个Python3.4虚拟环境。根据我看到的错误消息和,我了解到我必须执行以下操作才能获得完整的Python 3.4版本:

apt-get install build-essential libssl-dev openssl
没有这一点,我的Python 3.4版本就不包含pip。请注意,您可能希望安装readline和其他开发包


不请自来的建议
  • 不要以root用户身份执行此操作,创建一个专用于运行venv的用户
  • 创建一个脚本来创建您的环境
  • 将该脚本签入源代码repo

  • 我多次删除了我的python二进制文件和VENV,然后用这个脚本重新创建了所有这些文件,以确保我的脚本复制了我的环境,然后剥离了标识信息并将其保存在github上以共享它。我真的应该使用一个更正式的工具,比如docker/puppet/chef。

    这是您安装的共享分区吗?共享分区的文件系统是否与您尝试使用的非共享分区的文件系统不同?如果是,那么在我看来,这肯定会导致一个错误,因为您正在一个文件系统上为python生成和编译二进制文件,因此它在另一个文件系统上无法工作

    如中所述,向/etc/fstab中添加带有
    exec
    标志的条目可能会使其适合您,即您可能需要在此处为NTFS磁盘添加另一个条目以使其自动装载:

    <file system> <mount point>   <type>  <options>       <dump>  <pass>
    -> was on /dev/sdaX during installation
    UUID=<uid_of_NTFS> /     ntfs    auto,user,exec,nodev,rw,errors=remount-ro 0       1
    
    
    ->安装期间在/dev/sdaX上
    UUID=/ntfs auto、user、exec、nodev、rw、errors=重新安装ro 0 1
    
    您是如何安装Python 3的?您可以运行
    ls-lLa$(哪个python3)
    I跟随python文档:./configure;制作sudo制作安装;命令结果:-rwxr-xr-x 2根根目录11598453 Jan 7 19:20/usr/local/bin/python3@StaticX这是您安装的共享分区吗?检查。@mu無 这当然与共享分区有关。我尝试了一个非共享分区并成功了。但是,我在/etc/fstab中找不到这个分区。@StaticX共享分区的文件系统是否与您尝试的非共享分区的文件系统不同?如果是的话,在我看来,这肯定会导致一个错误,因为您正在一个文件系统上为python生成和编译二进制文件,因此它在另一个文件系统上无法工作。脚本不错,但仍然没有解决我的问题。我还在GitHub上为您提供并更新了Python和Django版本。无论如何谢谢你!实际上,您的脚本使用RPM(mkenv3:line 17:RPM:command not found)。。我正在使用Debian。但我已经知道它与共享分区@mu有关無 上面写道。我们可以找到一种方法,使这个脚本与多个发行版兼容。这个改变使我的系统崩溃,变成了一个只读文件系统。我无法打开大部分程序,不得不使用linux live dvd更改回/etc/fstab。
    <file system> <mount point>   <type>  <options>       <dump>  <pass>
    -> was on /dev/sdaX during installation
    UUID=<uid_of_NTFS> /     ntfs    auto,user,exec,nodev,rw,errors=remount-ro 0       1