如何在PYTHONPATH中添加带冒号的目录?

Sha*_*ach 5 python bash shell

问题很简单:

使用bash,我想在PYTHONPATH中添加一个目录,以便于脚本执行.不幸的是,我想要使用的目录中有一个:在其中.所以我尝试以下各项

export PYTHONPATH=${PYTHONPATH}:/home/shane/mywebsite.com:3344/
export PYTHONPATH=${PYTHONPATH}:/home/shane/mywebsite.com\:3344/
export PYTHONPATH=${PYTHONPATH}:"/home/shane/mywebsite.com:3344/"
Run Code Online (Sandbox Code Playgroud)

这些都不起作用.每次,路径都在python的路径上创建为两个单独的目录.我的问题是,是否有可能为bash做这个?如果是这样,需要什么语法?

Ces*_*arB 8

问题不在于bash.它应该正确设置您的环境变量,完成:字符.

相反,问题在于Python对PYTHONPATH变量的解析.按照PATH变量设置的示例,似乎根本没有转义字符,因此无法将其解释:为除分隔符之外的其他内容.您可以在Python解释器源代码中亲自查看.

正如几个人已经提到的,唯一的解决方案是使用符号链接或其他东西来允许您为目录提供无冒号的名称.

  • 所以它是Python中的一个错误:一个无法转义的特殊字符. (2认同)